/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * ventas_sie_apartados_estadisticas.java
 *
 * Created on 25/07/2011, 04:41:50 PM
 */

package sie_invdis;



import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import java.text.*;


import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RefineryUtilities;
/**
 *
 * @author Michelle
 */
public class ventas_sie_apartados_estadisticas extends javax.swing.JFrame {

     private javax.swing.table.DefaultTableModel jtable_modelo_estadistica;
     private javax.swing.table.DefaultTableModel jtable_modelo_abonosxmes;
     private javax.swing.table.DefaultTableModel jtable_modelo_statuscanti;
     private javax.swing.table.DefaultTableModel jtable_modelo_famresumen;
     private javax.swing.table.DefaultTableModel jtable_modelo_articulo;


     private  JTable jtable_tiendas=variables_global.gettabla_tiendas();

    bd_conexion x = new bd_conexion();
    ResultSet rs = null;

     private DefaultCategoryDataset datasetlineal = new DefaultCategoryDataset();
     private DefaultCategoryDataset datasettotlineal = new DefaultCategoryDataset();
     private DefaultCategoryDataset datasettotdialineal = new DefaultCategoryDataset();

     private DefaultCategoryDataset datasetpastel = new DefaultCategoryDataset();
     private DefaultCategoryDataset datasettotpastel = new DefaultCategoryDataset();
     private DefaultCategoryDataset datasettotdiapastel = new DefaultCategoryDataset();

     private SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy");
     private SimpleDateFormat formateadoresta = new SimpleDateFormat("yyyy-MM-dd");
    /** Creates new form ventas_sie_apartados_estadisticas */
    public ventas_sie_apartados_estadisticas() {
        this.iniciar_modelo_estadistica();
        this.iniciar_modelo_abonosxmes();
        this.iniciar_modelo_statusxtienda();
        this.iniciar_modelo_familiaresumen();
        this.iniciar_modelo_articulos();
        initComponents();
        this.carga_catalogoresponsables();
        this.carga_datos_abonosxmes();
        this.carga_datos_statuscantidad();
        this.carga_datos_familiaresumen();

        jt_articulos.getColumnModel().getColumn(0).setPreferredWidth(50);//cantidad
        jt_articulos.getColumnModel().getColumn(1).setPreferredWidth(60);//codigo
        jt_articulos.getColumnModel().getColumn(2).setPreferredWidth(60);//descripcion.
        jt_articulos.getColumnModel().getColumn(3).setPreferredWidth(60);//descripcion.
        jt_articulos.getColumnModel().getColumn(4).setPreferredWidth(120);//descripcion.
        jt_articulos.getColumnModel().getColumn(5).setPreferredWidth(60);//descripcion.
        jt_articulos.getColumnModel().getColumn(6).setPreferredWidth(40);//descripcion.
        jt_articulos.getColumnModel().getColumn(7).setPreferredWidth(40);//descripcion.
        jt_articulos.getColumnModel().getColumn(8).setPreferredWidth(40);//descripcion.
        jt_articulos.getColumnModel().getColumn(9).setPreferredWidth(80);//descripcion.
        this.carga_datos_detalle("1", "", "0");
    }
private void iniciar_modelo_estadistica()
    {
        jtable_modelo_estadistica=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_estadistica.addColumn("<html><b>Tienda</b></html>");
        jtable_modelo_estadistica.addColumn("<html><b>Cargos</b></html>");
        jtable_modelo_estadistica.addColumn("<html><b>Abonos</b></html>");
        jtable_modelo_estadistica.addColumn("<html><b>Saldo</b></html>");
    }
private void iniciar_modelo_abonosxmes()
    {
        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;
        jtable_modelo_abonosxmes=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_abonosxmes.addColumn("Mes/Tienda");
        for(int i=0;i<numerotiendas;i++)
           {
                 jtable_modelo_abonosxmes.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,1).toString()+":"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
        jtable_modelo_abonosxmes.addColumn("Total Mes");
    }
private void iniciar_modelo_statusxtienda()
    {

        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;

        jtable_modelo_statuscanti=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_statuscanti.addColumn("Status/Tienda");
        for(int i=0;i<numerotiendas;i++)
           {
                 jtable_modelo_statuscanti.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,1).toString()+":"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
        jtable_modelo_statuscanti.addColumn("Total");

    }
private void iniciar_modelo_familiaresumen()
    {
        int numerotiendas=this.jtable_tiendas.getRowCount(),ii=0,idtienda=0,ndias=0;
        jtable_modelo_famresumen=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_famresumen.addColumn("Status/Tienda");
        for(int i=0;i<numerotiendas;i++)
           {
                 jtable_modelo_famresumen.addColumn("<html><b>"+this.jtable_tiendas.getValueAt(i,1).toString()+":"+this.jtable_tiendas.getValueAt(i,0).toString()+"</b></html>");
           }
        jtable_modelo_famresumen.addColumn("Total");
    }
private void iniciar_modelo_articulos()
    {
        jtable_modelo_articulo=new javax.swing.table.DefaultTableModel();//Creo el modelo
        jtable_modelo_articulo.addColumn("<html><b>Tienda</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Familia</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Subfamilia</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Clave</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Descripcion</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Item</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Cantidad</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Costo</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Precio</b></html>");
        jtable_modelo_articulo.addColumn("<html><b>Foto</b></html>");
    }
private void carga_catalogoresponsables()
    {
    int numerotiendas=jtable_tiendas.getRowCount(),ii=0;
    String tienda="";
    DecimalFormat miformat = new DecimalFormat("###,###,###");
    Object[] fnewRow = new Object[4];
    for(ii=0;ii<numerotiendas;ii++)
        {
            tienda=jtable_tiendas.getValueAt(ii,1).toString()+"";
            //invoco al metodo que trae el recordset de datos
            rs = x.sieuno_executediversosv2("select * from x1venta_apartados_acumuladosaldos(0,"+tienda+",'"+""+"') as (importeapartado real,acumsaldo double precision,acumabonos double precision);",variables_global.getconexiongral());
            fnewRow[0]=jtable_tiendas.getValueAt(ii,0).toString();
            try
                {
                while (rs.next())
                    {
                        fnewRow[1]=miformat.format(rs.getFloat("importeapartado"));
                        fnewRow[2]=miformat.format(rs.getFloat("acumabonos"));
                        fnewRow[3]=miformat.format(rs.getFloat("acumsaldo"));
                    }
                }
            catch(Exception e)
                {
                    System.out.println(e.getMessage());
                }
            jtable_modelo_estadistica.addRow(fnewRow);
        }
    }


private void carga_datos_abonosxmes()
    {
       String fechaeuro="";
       int columnatitulo=0;
       String mespartido[]=null;
       int ncol=this.jtable_modelo_abonosxmes.getColumnCount();
       Object[] fnewRow = new Object[ncol];
    rs = x.sieuno_executediversosv2("select * from x1venta_apartados_abonosxmes(0,0,'') as (fecha date,fechadoc text,abonos double precision);",variables_global.getconexiongral());
        try
         {
            while (rs.next())
                {
                        mespartido=rs.getString("fechadoc").split(":");
                        columnatitulo=this.findcolumna_idtienda(mespartido[0]);
                        this. crea_hoja_abonosxmes(mespartido[1],rs.getString("abonos").replace("-", ""),columnatitulo);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
        fnewRow[0]="Totales:";
        jtable_modelo_abonosxmes.addRow(fnewRow);
        this.contruir_totales();
     }
private void carga_datos_statuscantidad()
    {
       String fechaeuro="";
       int columnatitulo=0;
       String mespartido[]=null;
        int ncol=this.jtable_modelo_statuscanti.getColumnCount();
       Object[] fnewRow = new Object[ncol];
    rs = x.sieuno_executediversosv2("select * from x1venta_apartados_statusconteo(0,0) as (idsta integer,total bigint,nombre text);",variables_global.getconexiongral());
        try
        {
            while (rs.next())
                {
                        mespartido=rs.getString("nombre").split(":");
                        columnatitulo=this.findcolumna_idtienda(mespartido[0]);
                        this.crea_hoja_cantidadstatus(rs.getString("idsta"), mespartido[1].toUpperCase(),rs.getString("total"),columnatitulo);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
     fnewRow[0]="Totales:";
     jtable_modelo_statuscanti.addRow(fnewRow);
     this.contruir_totales_canstatus();
     }
private void carga_datos_familiaresumen()
    {
       String fechaeuro="";
       int columnatitulo=0;
       String mespartido[]=null;
        int ncol=this.jtable_modelo_famresumen.getColumnCount();
       Object[] fnewRow = new Object[ncol];
    rs = x.sieuno_executediversosv2("select * from x1venta_apartados_detalle_familiaresumen(0,0) as (cantpiezas bigint,imporetprecio double precision,importecosto numeric,idfamilia integer,familianombre character varying(30));",variables_global.getconexiongral());
        try
        {
            while (rs.next())
                {
                        mespartido=rs.getString("familianombre").split(":");
                        columnatitulo=this.findcolumna_idtienda(mespartido[0]);
                        this.crea_hoja_familiaresumen(rs.getString("idfamilia"), mespartido[1].toUpperCase(),rs.getString("cantpiezas"),columnatitulo);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
     fnewRow[0]="Totales:";
     jtable_modelo_famresumen.addRow(fnewRow);
     this.contruir_totales_canstatus();
     }
private int findcolumna_idtienda (String titulo)  {
  int columnas = jtable_modelo_abonosxmes.getColumnCount(),columencontrado=0;
  String columtitulo[]=null;
      for(int j = 0 ;j < columnas ; j++)
                {
                    columtitulo= jtable_modelo_abonosxmes.getColumnName(j).replace("<html><b>","").split(":");
                     System.out.println("Busqueda:"+columtitulo[0]+" "+titulo);
                    if(columtitulo[0].equals(titulo))
                        {
                            columencontrado=j;
                             System.out.println(titulo+" "+columtitulo[0]+" "+columencontrado);
                        }
                }
    return columencontrado;
}
private void crea_hoja_abonosxmes(String mes,String abonoimporte,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        int numerofilas=this.jtable_modelo_abonosxmes.getRowCount();
        String mesactual="";
        int numerocolumnas=this.jtable_modelo_abonosxmes.getColumnCount(),ii=00;
        int encontrado=0;
        Object[] fnewRow = new Object[numerocolumnas];
        float abononumerico=0;
       //invoco al metodo que trae el recordset de datos
        abononumerico=Float.valueOf(abonoimporte);
        for( ii=0;ii<numerofilas;ii++)
                {
                    mesactual=jtable_modelo_abonosxmes.getValueAt(ii, 0).toString();
                     System.out.println("Agregando:"+mesactual+" "+mes);
                    if (mesactual.equals(mes))
                        {
                            encontrado=1;
                            jtable_modelo_abonosxmes.setValueAt(miformat.format(abononumerico),ii ,columna);
                        }
                }
       if(encontrado==0)
            {
            fnewRow[0]=mes;
            for( ii=1;ii<numerocolumnas;ii++)
                {
                               System.out.println(mes);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=miformat.format(abononumerico);
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_abonosxmes.addRow(fnewRow);
            }
    }

private void crea_hoja_cantidadstatus(String idstatus,String describestatus,String cantidad,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        int numerofilas=this.jtable_modelo_statuscanti.getRowCount();
        String idstat[]=null;
        int numerocolumnas=this.jtable_modelo_statuscanti.getColumnCount(),ii=00;
        int encontrado=0;
        Object[] fnewRow = new Object[numerocolumnas];
        float cantistatus=0;
       //invoco al metodo que trae el recordset de datos
        cantistatus=Float.valueOf(cantidad);
        for( ii=0;ii<numerofilas;ii++)
                {
                    idstat=jtable_modelo_statuscanti.getValueAt(ii, 0).toString().split(":");
                    System.out.println("Agregando:"+cantistatus+" "+idstatus);
                    if (idstat[0].equals(idstatus))
                        {
                            encontrado=1;
                            jtable_modelo_statuscanti.setValueAt(miformat.format(cantistatus),ii ,columna);
                        }
                }
       if(encontrado==0)
            {
            fnewRow[0]=idstatus+":"+describestatus;
            for( ii=1;ii<numerocolumnas;ii++)
                {
                               System.out.println(idstatus+":"+describestatus);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=miformat.format(cantistatus);
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_statuscanti.addRow(fnewRow);
            }
    }
private void crea_hoja_familiaresumen(String idfamilia,String familiadescribe,String cantidad,int columna)
    {
        DecimalFormat miformat = new DecimalFormat("###,###,###");
        int numerofilas=this.jtable_modelo_famresumen.getRowCount();
        String idstat[]=null;
        int numerocolumnas=this.jtable_modelo_famresumen.getColumnCount(),ii=00;
        int encontrado=0;
        Object[] fnewRow = new Object[numerocolumnas];
        float cantifam=0;
       //invoco al metodo que trae el recordset de datos
        cantifam=Float.valueOf(cantidad);
        for( ii=0;ii<numerofilas;ii++)
                {
                    idstat=jtable_modelo_famresumen.getValueAt(ii, 0).toString().split(":");
                    System.out.println("Agregando:"+cantifam+" "+familiadescribe);
                    if (idstat[0].equals(idfamilia))
                        {
                            encontrado=1;
                            jtable_modelo_famresumen.setValueAt(miformat.format(cantifam),ii ,columna);
                        }
                }
       if(encontrado==0)
            {
            fnewRow[0]=idfamilia+":"+familiadescribe;
            for( ii=1;ii<numerocolumnas;ii++)
                {
                               System.out.println(idfamilia+":"+familiadescribe);
                               if(ii==columna)
                                    {
                                        fnewRow[ii]=miformat.format(cantifam);
                                    }
                               else
                                    {
                                        fnewRow[ii]="0";
                                    }
                }
             jtable_modelo_famresumen.addRow(fnewRow);
           }
    }

private void carga_datos_detalle(String opciona,String busca,String idtiendaa)
 {
        this.LimpiarJTable();
        DecimalFormat miformat = new DecimalFormat("###,###,###,###");
        java.util.Date fechahoy=new Date();
        Object[] fnewRow = new Object[10];
        String idstat[]=null;
       //invoco al metodo que trae el recordset de datos
       rs = x.sieuno_executediversosv2("select * from x1venta_apartados_detalle_full("+opciona+",'"+busca+"',"+idtiendaa+") as (idapartado integer,cnsapartado integer,cantidadpro integer,idalmacen integer,descuento real,precio real,idproducto integer,describearticulo text,claveproducto text,importesindescuento double precision,ultimoco numeric,idfam integer,idsubfam integer,item character varying(80),idtemingreso smallint,familianombre character varying(30),subfamnombre character varying(50),temporadanombre character varying(25));",variables_global.getconexiongral());
        try
         {
            while (rs.next())
                {
                    idstat=rs.getString("claveproducto").toString().split(":");

                     fnewRow[0]=idstat[0]+":"+idstat[2];
                     fnewRow[1]=rs.getString("familianombre");
                     fnewRow[2]=rs.getString("subfamnombre");
                     fnewRow[3]=idstat[1];
                     fnewRow[4]=rs.getString("describearticulo");
                     fnewRow[5]=rs.getString("item");
                     fnewRow[6]=miformat.format(rs.getFloat("cantidadpro"));
                     fnewRow[7]=miformat.format(rs.getFloat("ultimoco"));
                     fnewRow[8]=miformat.format(rs.getFloat("precio"));
                     fnewRow[9]="";
                     jtable_modelo_articulo.addRow(fnewRow);
                }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
       this.contruir_totales_familia();
}


private void contruir_totales()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0;
         int totalfilasreporte=this.jtable_modelo_abonosxmes.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_tiendas.getRowCount();
         //genero los totales por tienda
         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_abonosxmes.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                    }
                    jtable_modelo_abonosxmes.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        for( ii=0;ii<numerotiendas;ii++)
                        {
                            totalve+=Float.valueOf(jtable_modelo_abonosxmes.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                        }
                        
                        jtable_modelo_abonosxmes.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                        totalve=0;
                  }
     }
private void contruir_totales_canstatus()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0;
         int totalfilasreporte=this.jtable_modelo_statuscanti.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_tiendas.getRowCount();
         //genero los totales por tienda
         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_statuscanti.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                    }
                    jtable_modelo_statuscanti.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                        for( ii=0;ii<numerotiendas;ii++)
                        {
                            totalve+=Float.valueOf(jtable_modelo_statuscanti.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                        }
                        jtable_modelo_statuscanti.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
     }
private void contruir_totales_familia()
    {
         DecimalFormat myFormatter = new DecimalFormat("###,###,###");
         float totalve=0;
         int totalfilasreporte=this.jtable_modelo_famresumen.getRowCount()-1,i=0,ii=0;
         int numerotiendas=this.jtable_tiendas.getRowCount();
         //genero los totales por tienda
         for( ii=0;ii<numerotiendas;ii++)
            {
             totalve=0;
                for(i=0;i<totalfilasreporte;i++)
                    {
                        totalve+=Float.valueOf(jtable_modelo_famresumen.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                    }
                    jtable_modelo_famresumen.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
            }
           totalve=0;
           for(i=0;i<totalfilasreporte;i++)
                  {
                        totalve=0;
                        for( ii=0;ii<numerotiendas;ii++)
                        {
                            totalve+=Float.valueOf(jtable_modelo_famresumen.getValueAt(i, ii+1).toString().replace(",","").replace(".",""));
                        }
                        jtable_modelo_famresumen.setValueAt("<html><h3><b>"+myFormatter.format(totalve)+"</b></h3></html>",i,ii+1);
                  }
     }

void LimpiarJTable()
 {
     //limpiar la tabla
    while(jtable_modelo_articulo.getRowCount()>0)jtable_modelo_articulo.removeRow(0);
 }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel5 = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        jt_saldosxdepa = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jScrollPane5 = new javax.swing.JScrollPane();
        jt_ventasmensuales = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jPanel7 = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        jt_ventasmensuales1 = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jPanel8 = new javax.swing.JPanel();
        jScrollPane7 = new javax.swing.JScrollPane();
        jt_familiapiezas = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jPanel9 = new javax.swing.JPanel();
        jScrollPane8 = new javax.swing.JScrollPane();
        jt_articulos = new javax.swing.JTable()
        {
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            }
        }
        ;
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jmni_salir = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jmni_escape = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(sie_invdis.Sie_invdisApp.class).getContext().getResourceMap(ventas_sie_apartados_estadisticas.class);
        setTitle(resourceMap.getString("Form.title")); // NOI18N
        setName("Form"); // NOI18N

        jTabbedPane1.setName("jTabbedPane1"); // NOI18N

        jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel5.border.title"))); // NOI18N
        jPanel5.setName("jPanel5"); // NOI18N

        jScrollPane4.setName("jScrollPane4"); // NOI18N

        jt_saldosxdepa.setModel(this.jtable_modelo_estadistica);
        jt_saldosxdepa.setName("jt_saldosxdepa"); // NOI18N
        jt_saldosxdepa.setRowHeight(22);
        jScrollPane4.setViewportView(jt_saldosxdepa);

        jScrollPane5.setName("jScrollPane5"); // NOI18N

        jt_ventasmensuales.setModel(this.jtable_modelo_abonosxmes);
        jt_ventasmensuales.setName("jt_ventasmensuales"); // NOI18N
        jt_ventasmensuales.setRowHeight(22);
        jScrollPane5.setViewportView(jt_ventasmensuales);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 613, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(416, Short.MAX_VALUE))
            .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 1029, Short.MAX_VALUE)
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel5.TabConstraints.tabTitle"), jPanel5); // NOI18N

        jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel7.border.title"))); // NOI18N
        jPanel7.setName("jPanel7"); // NOI18N

        jScrollPane6.setName("jScrollPane6"); // NOI18N

        jt_ventasmensuales1.setModel(this.jtable_modelo_statuscanti);
        jt_ventasmensuales1.setName("jt_ventasmensuales1"); // NOI18N
        jt_ventasmensuales1.setRowHeight(22);
        jScrollPane6.setViewportView(jt_ventasmensuales1);

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 1029, Short.MAX_VALUE)
        );
        jPanel7Layout.setVerticalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 474, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(69, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel7.TabConstraints.tabTitle"), jPanel7); // NOI18N

        jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel8.border.title"))); // NOI18N
        jPanel8.setName("jPanel8"); // NOI18N

        jScrollPane7.setName("jScrollPane7"); // NOI18N

        jt_familiapiezas.setModel(this.jtable_modelo_famresumen);
        jt_familiapiezas.setName("jt_familiapiezas"); // NOI18N
        jt_familiapiezas.setRowHeight(22);
        jt_familiapiezas.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jt_familiapiezasMouseClicked(evt);
                if(evt.getClickCount() >= 1)
                {
                    dioclick(evt);
                    //System.out.println(" double click" );

                }
            }
        });
        jScrollPane7.setViewportView(jt_familiapiezas);

        jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel9.border.title"))); // NOI18N
        jPanel9.setName("jPanel9"); // NOI18N

        jScrollPane8.setName("jScrollPane8"); // NOI18N

        jt_articulos.setModel(this.jtable_modelo_articulo);
        jt_articulos.setName("jt_articulos"); // NOI18N
        jt_articulos.setRowHeight(22);
        jScrollPane8.setViewportView(jt_articulos);

        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
        jPanel9.setLayout(jPanel9Layout);
        jPanel9Layout.setHorizontalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1013, Short.MAX_VALUE)
        );
        jPanel9Layout.setVerticalGroup(
            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 311, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
        jPanel8.setLayout(jPanel8Layout);
        jPanel8Layout.setHorizontalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 1029, Short.MAX_VALUE)
            .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        jPanel8Layout.setVerticalGroup(
            jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup()
                .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(26, 26, 26)
                .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab(resourceMap.getString("jPanel8.TabConstraints.tabTitle"), jPanel8); // NOI18N

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N

        jmni_salir.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK));
        jmni_salir.setIcon(resourceMap.getIcon("jmni_salir.icon")); // NOI18N
        jmni_salir.setText(resourceMap.getString("jmni_salir.text")); // NOI18N
        jmni_salir.setName("jmni_salir"); // NOI18N
        jmni_salir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_salirActionPerformed(evt);
            }
        });
        jMenu1.add(jmni_salir);

        jMenuBar1.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N

        jmni_escape.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0));
        jmni_escape.setText(resourceMap.getString("jmni_escape.text")); // NOI18N
        jmni_escape.setName("jmni_escape"); // NOI18N
        jmni_escape.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmni_escapeActionPerformed(evt);
            }
        });
        jMenu2.add(jmni_escape);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 1050, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 601, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jmni_salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_salirActionPerformed
        // TODO add your handling code here:
        this.dispose();
    }//GEN-LAST:event_jmni_salirActionPerformed

    private void jmni_escapeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmni_escapeActionPerformed
        // TODO add your handling code here:
        this.jmni_salirActionPerformed(evt);
    }//GEN-LAST:event_jmni_escapeActionPerformed

private void jt_familiapiezasMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
    }
private void dioclick(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
         System.out.println("dio doble  click");
         int fila = jt_familiapiezas.getSelectedRow();
         String familia[] = jt_familiapiezas.getValueAt(fila, 0).toString().split(":");
        this.carga_datos_detalle("3", familia[0], "0");
        //JFrame mainFrame = Sie_invdisApp.getApplication().getMainFrame();

        //setVisible(false);
    }
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ventas_sie_apartados_estadisticas().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JMenuItem jmni_escape;
    private javax.swing.JMenuItem jmni_salir;
    private javax.swing.JTable jt_articulos;
    private javax.swing.JTable jt_familiapiezas;
    private javax.swing.JTable jt_saldosxdepa;
    private javax.swing.JTable jt_ventasmensuales;
    private javax.swing.JTable jt_ventasmensuales1;
    // End of variables declaration//GEN-END:variables

}
